package com.sparkStreaming.demo

import org.apache.spark.SparkConf
import org.apache.spark.streaming.{Seconds, StreamingContext}

/**
  * 使用Spark Streaming处理文件系统(hdfs)的数据
  * 监视文件夹新添加的文件，并处理文件
  *   使用hadoop fs -put 命令 向命名空间中添加数据
  *
  *
  */
object _12_FileWordCount {

  def main(args: Array[String]): Unit = {

    val sparkConf = new SparkConf().setMaster("local[6]").setAppName("FileWordCount")
    val ssc = new StreamingContext(sparkConf, Seconds(5))
    ssc.sparkContext.setLogLevel("ERROR")


    val lines = ssc.textFileStream("hdfs://hadoop000:8020/input")

    val result = lines.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)
    result.print()

    ssc.start()
    ssc.awaitTermination()


  }

}
